package com.zbkj.service.dao;

import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.zbkj.common.model.product.ProductCategory;
import org.apache.ibatis.annotations.Param;

import javax.validation.constraints.Pattern;
import java.util.List;

/**
 * <p>
 * 商品分类表 Mapper 接口
 * </p>
 *
 * @author HZW
 * @since 2022-07-20
 */
public interface ProductCategoryDao extends BaseMapper<ProductCategory> {

    /**
     * 获取首页第三级分类数据
     *
     * @param firstId 第一级分类id
     */
    List<ProductCategory> getThirdCategoryByFirstId(@Param("firstId") Integer firstId, @Param("limit") Integer limit);

    /**
     * 查询其他的兄弟分类
     *
     * @param categoryId
     * @return
     */
    List<Integer> getOtherCategoryIds(@Param("categoryId") Integer categoryId);

    List<ProductCategory> getThirdCategoryByFirstIdV2(@Param("cidList") List cidList, @Param("limit") Integer limit);

    /**
     * ai试穿根据男装、女装、童装查询全部三级分类列表
     *
     * @param name
     * @return
     */
    List<ProductCategory> getListByName(@Param("name") String name);

    /**
     * 根据id查询分类列表
     *
     * @param idList
     * @return
     */
    List<ProductCategory> getListByIdList(@Param("idList") List<Integer> idList);

    /**
     * 根据一级商品分类id查询三级分类id
     *
     * @param categoryId
     * @return
     */
    List<Integer> getCategoryIdListByFirstCategoryId(@Param("categoryId") Integer categoryId);

    /**
     * 根据二级商品分类id查询三级分类id
     *
     * @param categoryId
     * @return
     */
    List<Integer> getCategoryIdListByTwoCategoryId(@Param("categoryId") Integer categoryId);

    /**
     * 查询出一级分类id的名称,根据名称判断跑男模特还是女模特
     * @param categoryId
     * @return
     */
    String getNameByCategoryId(@Param("categoryId") Integer categoryId);
}
